#pragma once

#include "IRenderer.h"
#include <d3dx9.h>

namespace sol9
{
namespace graphics
{

	class D3D9Renderer : public IRenderer
	{
		__declareClass(DX9Renderer);

	private:
		IDirect3D9* m_pD3D;
		IDirect3DDevice9* m_pD3DDevice;
		HWND m_hWnd;
		SRendererParameters m_Parameters;

	public:
		D3D9Renderer(HWND hDeviceWnd, const SRendererParameters& Params);
		~D3D9Renderer();

		virtual bool initialize();

		virtual bool beginScene(color cColor = color(255, 0, 0, 0));
		virtual bool endScene();
	};

} // namespace graphics
} // namespace sol9